package com.woniuxy.bank.api.access;

import com.woniuxy.bank.api.access.fallback.TradeLogApiFallBack;
import com.woniuxy.sddfp.common.model.dto.bank.BankCardAddDTO;
import com.woniuxy.sddfp.common.model.dto.bank.SignatureDto;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;

/**
 * @author yellow Doctor
 * @date 2025-06-26
 * @desc 蜗牛创想：www.woniuxy.com
 *
 *   openfeign 的使用步骤:
 *       1、添加依赖
 *                Openfeign 的依赖
 *                common
 *       2、TradeLogApi 写调用代理类
 *              只有接口
 *       3、
 *          注解：
 *            @FeignClient(value = "sddfp-bank-access-service")
 *          方法:  远程调用服务者 的 提供的生产者方法
 *               1、url 和   提供的生产者的路劲一直
 *               2、为了代码规范 这里打方法名称 和  生者的名称需要一致
 *               3、方法的参数一致
 *               4、放回结果一致
 *
 *       4、把 api这个模块 添加到  需要消费的模块 中
 *
 *       5、需要 把 远程调用 开启
 *             @EnableFeignClients
 *
 */
@FeignClient(
        value = "sddfp-bank-access-service",
        fallback = TradeLogApiFallBack.class   // 调用失败 执行的类
)
public interface TradeLogApi {

    @PostMapping("/trade-log/bank/access/card")
    public SignatureDto proxyBindCardLog(@RequestBody BankCardAddDTO bankCardAddDTO);

    @GetMapping("/test/port")
    public String testPort();

}
